const { defineConfig } = require("@vue/cli-service");
const webpack = require("webpack");
const CompressionPlugin = require("compression-webpack-plugin"); // gzip

const TerserPlugin = require("terser-webpack-plugin"); // console.log
module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: "./",
  configureWebpack: (config) => {
    config.plugins.push(
      new CompressionPlugin({
        test: /\.js$|\.html$|\.css/, // 开启压缩名称
        threshold: 10240, // 超过1024k  就压缩
        deleteOriginalAssets: false, //  是否删除源文件
      })
    );

    if (process.env.NODE_ENV === "production") {
      // 代码压缩去除console.log
      config.plugins.push(
        new TerserPlugin({
          terserOptions: {
            ecma: undefined,
            warnings: false,
            parse: {},
            compress: {
              drop_console: true,
              drop_debugger: false,
              pure_funcs: ["console.log"], // 移除console
            },
          },
        })
      );
    }

    // plugins: [
    //   // 配置 jQuery 插件的参数

    //   new webpack.ProvidePlugin({
    //     $: "jquery",

    //     jQuery: "jquery",

    //     "window.jQuery": "jquery",

    //     Popper: ["popper.js", "default"],
    //   }),
    // ],
  },

  // devServer: {
  //   proxy: {
  //     "/api": {
  //       target: "http://222.92.133.154:5912/", //自己的服务器的地址
  //       changeOrigin: true,
  //       ws:false,
  //       pathRewrite: {
  //         "^/api": "",
  //       },
  //     },
  //   },
  // },
});
